package com.beyondsoft.sabg.edu.service.dataanalysis;

import com.beyondsoft.sabg.edu.model.dto.DataSourceConfigDto;

import java.util.List;

/**
 * 数据源服务接口
 */
public interface DataSourceService {

    /**
     * 创建数据源授权
     *
     * @param config 数据源配置
     * @return 操作结果
     * @throws Exception 异常
     */
    String createDatasourceAuthorization(DataSourceConfigDto config) throws Exception;

    /**
     * 从数据源同步数据表
     *
     * @param tableNames 表名列表
     * @return 操作结果
     * @throws Exception 异常
     */
    String syncRemoteTables(List<String> tableNames) throws Exception;

    /**
     * 获取数据表合集
     *
     * @return 数据表合集信息
     * @throws Exception 异常
     */
    Object listSelectedTables() throws Exception;

    /**
     * 刷新当前所关联的数据表
     *
     * @param tableIdKey 表ID
     * @return 操作结果
     * @throws Exception 异常
     */
    Object resyncTable(String tableIdKey) throws Exception;

    /**
     * 获取数据表下的数据列集合
     *
     * @param tableIdKey 表ID
     * @return 数据列信息
     * @throws Exception 异常
     */
    Object listColumns(String tableIdKey) throws Exception;
} 